This invention relates to musical instruments and more specifically to digitally controlled electronic instruments and methods for generating musical sound.
Digitally controlled methods of generating musical sound operate by producing a sequence of digital numbers which are converted to electrical analog signals. The analog signals are amplified to produce musical sound through a conventional speaker. Musical instruments which employ digital control are constructed with a keyboard or other input device and with digital electronic circuits responsive to the keyboard. The electronic circuits digitally process signals in response to the keyboard and digitally generate oscillations which form the sound in the speaker. These digitally generated oscillations are distinguished from oscillations generated by analog oscillators and are distinguished from mechanically induced oscillations produced by conventional orchestral and other type instruments.
All musical sounds, whether of electronic or mechanical origin, can be described by Fourier spectrum. The Fourier spectra describes musical sound in terms of its component frequencies which are represented as sinusoids. The whole musical sound is, therefore, a sum of the component frequencies, that is, a sum of sinusoids.
Under Fourier analysis, tones are classified as harmonic or inharmonic. A harmonic tone is periodic and can be represented by a sum of sinusoids having frequencies which are integral multiples of a fundamental frequency. The fundamental frequency is the pitch of the tone. Harmonic instruments of the orchestra include the strings, the brasses, and the woodwinds. An inharmonic tone is not periodic, although it often can be represented by a sum of sinusoids. The frequencies comprising an inharmonic tone, however, usually do not have any simple relationship. Inharmonic instruments do not normally have any pitch associated with them. Instruments in the orchestra that are inharmonic include the percussion instruments, such as the bass drum, the snare drum, the cymbal and others.
Electronically controlled musical instruments have relied upon forming selected Fourier spectra as a basis for producing musical sound. One known type of digital musical instrument employs an harmonic summation method of music generation. In the harmonic summation method, a tone is produced by adding (or subtracting) a large number of amplitude-scaled sinusoids of different frequencies. The harmonic summation method, therefore, requires a large number of multiplications and additions to form each sample. That process requires digital circuitry which is both expensive and inflexible. Accordingly, the digital design necessary to carry out the method of harmonic summation is computationally complex and leaves much to be desired.
Another known type of musical instrument employs the filtering method of music generation. In the filtering method, a complex electrical waveform, such as a square wave or a saw-tooth pulse train, is filtered by one or more filters to select the desired frequency components. Thereafter, the filtered frequency components are combined to form the electrical signal which drives the speaker. The filtering method is commonly used to synthesize human speech and has often been used with analog electronic organs. The filtering method is comparatively inflexible since each sample relies upon the stored values of fixed samples. In order to achieve natural sound, the filtering method requires a large number of multiplication steps which are economically expensive to achieve. An example of music generation employing such complex multiplications appears in the Niimi patent ELECTRONIC MUSICAL INSTRUMENT UTILIZING DATA PROCESSING SYSTEM, U.S. Pat. No. Re. 31,004, and in the Niimi patent ELECTRONIC MUSICAL INSTRUMENT UTILIZING RECURSIVE ALGORITHM, U.S. Pat. No. 4,133,241.
In a typical example of a filter technique, a waveshape memory provides digital samples of one cycle of a waveshape to a loop circuit which includes a filter and a shift register. The digital waveshape samples read out from the wavshape memory are caused to circulate at a predetermined rate of time in the loop circuit. An output from the loop circuit varies as time lapses, and is utilized as a musical tone. An example of the circulating waveshape memory is the Niimi patent entitled ELECTRONICAL MUSICAL INSTRUMENT HAVING FILTER-AND-DELAY LOOP FOR TONE PRODUCTION, U.S. Pat. No. 4,130,043.
The classical filter techniques result in systems in which the pitch frequency f.sub.s /N, is determined by division using an integer, N, and hence desirable variations due to non-integral division are not achieved.
In many prior art systems, the divisor, N, is forced to be an integer when shift-register or other fixed circuits are employed. Also, the integer is further limited to some power of 2 in order to facilitate processing. In order to vary the pitch, f.sub.s /N, the frequency f.sub.s must be varied. Such systems, however, cannot be extended readily and economically to multivoice embodiments because, for example, each voice requires a different frequency, f.sub.s.
Both the harmonic summation and the filtering methods rely upon a linear combination of sinusoids and, hence, they are characterized as linear methods for generating musical sound. The linear property is apparent from the fact that when the amplitude of the input function (sinusoids for harmonic summation or a pulse train for filtering) is multiplied by a factor of two, the result is an output waveform with the same tone quality and with an amplitude multiplied by a factor of two.
U.S. Pat. No. 4,018,121 entitled METHOD OF SYNTHESIZING A MUSICAL SOUND to Chowning describes a non-linear method for generating musical sound. That nonlinear method employs a closed-form expression (based upon frequency modulation) to represent the sum of an infinite number of sinusoids. That non-linear frequency modulation method produces a number of sinusoids which have frequencies which are the sum of the carrier frequency and integral multiples of the modulation frequency. The amplitudes of the multiples of the modulation frequency are sums of Bessel functions. The non-linear frequency modulation method of Chowning is an improvement over previously used linear harmonic summation and filtering methods, and has found commercial application in music synthesizers.
U.S. Pat. No. 4,215,617 entitled "MUSICAL INSTRUMENT AND METHOD FOR GENERATING MUSICAL SOUND" to Moorer describes improved non-linear methods of musical and sound generation in which the amplitudes of frequency components are not constrained to the Bessel functions and in which finite spectra can be utilized, that is, spectra composed of the sum of a finite number of sinusoids.
U.S. Pat. No. 4,130,043 entitled ELECTRONIC MUSICAL INSTRUMENT HAVING FILTER-AND-DELAY LOOP FOR TONE PRODUCTION to Niimi describes a classical filter operation which receives a single input from a "delay means" (wavetable). In that patent, the pitch frequency is limited to a constant, N, and cannot be readily changed in a multi-voice embodiment since in the patent the pitch is changed by changing the clock frequency. Furthermore, in the Niimi patent, an initial input of the waveshape which defines a period of a tone wave to be generated is required.
In general, prior art methods of musical sound generation have employed deterministic techniques. Typically, the methods rely upon an input sample which has fixed parameters which specify the musical sound to be generated. Such input samples when processed by a predetermined method result in a deterministic output signal which does not have the rich, natural sound of more traditional instruments.
While many linear and non-linear methods, like those described above, have been used with success for digital musical synthesis, they all have required fast and complex computational capability typically involving several multiplication steps per sample in order to achieve rich, natural sounds. Such fast and complex computational capability results in musical instruments of high cost and complexity. This high cost and complexity has impeded the widespread availability of economical digital synthesis.
Accordingly, there is a need for improved musical instruments employing digital synthesis which can be used with digital circuits requiring slower and less complex computational capability than that required by prior techniques, but which still produce rich and natural sounds. There is also a need for improved digital music synthesizers which can be constructed using conventional computer processors and conventional semiconductor chip technology.
Part of the need for improved musical instruments is satisfied by the above-identified cross-referenced application. That invention is a musical instrument and method employing probabilistic wavetable-modification for producing musical sound. The musical instrument includes a keyboard or other input device, a wavetable-modification generator for producing digital signals by probabilistic wavetable modification, and an output device for converting the digital signals into musical sound.
The generator in the above-identified cross-referenced application includes a wavetable which is periodically accessed to provide an output signal which determines the musical sound. The wavetable output signal, y.sub.t, from the wavetable is provided as the audio output. Also, the wavetable output signal can be modified and stored back into the wavetable. A decision is made stochastically whether to modify the output signal before it is stored back into the wavetable. At some later time, the possibly modified signal which has been stored is again accessed and thereby becomes a new wavetable output signal. This process is repeated whereby each new output signal is stored (after possibly being modified) back into the wavetable. The output signals are thus generated by probabilistic wavetable modification and produce rich and natural musical sound.
The operation of the above-identified cross-referenced application is described as follows. At any time t, the signal y.sub.t which is stored back into the wavetable is a function of the result v.sub.t of accumulated modifications of the original contents x.sub.t of the wavetable, and a current modification component m.sub.t. Therefore, the signal y.sub.t is a function of v.sub.t and m.sub.t. In a digital sample embodiment, the n.sup.th sample of y.sub.t is given as y.sub.n. In general, the n.sup.th modification component, m.sub.n, is determined stochastically for each sample. For a particular sample n, m.sub.n may be such that no modification is performed. In accordance with one embodiment of the type suitable for generating plucked-string sounds, the modification performed to generate y.sub.n is an average of a first delayed output y.sub.n-N and the previous delayed output y.sub.n-(N+1). The location of data in the wavetable, in one digital memory embodiment, is determined by memory address pointers. A Read Pointer specifies the location of the delayed sample, y.sub.n-N. A "Read Pointer+1" is offset from the Read Pointer by one and specifies the location of the delayed sample y.sub.n-(N+1). The modified value, y.sub.n, is stored into the wavetable at a location specified by a Write Pointer. The Write Pointer is offset from the Read Pointer by the pitch number, N. In a multi-voice embodiment, the pitch number, N, is typically different for each voice. A Read Pointer and a Write Pointer are determined for each voice.
In the above-identified cross-referenced application, the n.sup.th word in the wavetable is initially set as w.sub.n =Au.sub.n where A is some amplitude and u.sub.n is either +1 or -1 according to the output of a random bit generator (the probability of + as opposed to - could also be specified). This operation has the effect of initializing the waveform with white noise such that all Fourier frequency components are more or less equal in energy.
In the above-identified cross-referenced application, the parameters associated with a particular voice were not stored in the same memory containing the wavetables. Instead, these parameters were stored in a shift register of fixed length (16 stages). The voice bits were the low-order bits of the memory address, and a common write-pointer address was used for all the voices both for modification and for audio output to a digital-to-analog converter (DAC). In that embodiment, the 16-voice restriction tended to make the embodiment inflexible and such inflexibility should be avoided when possible.
In accordance with the above background, it is an objective of the present invention to provide an improved musical instrument and method of generating rich and natural musical sounds utilizing simple, flexible and conventional digital circuitry which does not require computational complexity.